
package sistema;

import GUI.ControladorDeGeracaoDeGrafico;
import GUI.ControladorManterConsorcio;
import GUI.ControladorGerenciarCliente;
import GUI.ControladorGerenciarConsorcio;
import GUI.ControladorJanelaCadastrar;
import GUI.ControladorJanelaExcluir;
import GUI.ControladorJanelaPrincipal;
import GUI.ControladorLogin;
import GUI.ControladorRelatorio;
import GUI.JanelaCadastrarCliente;
import GUI.JanelaCadastrarConsorcio;
import GUI.JanelaCadastrarSenha;
import GUI.JanelaExcluirCliente;
import GUI.JanelaGerenciarCliente;
import GUI.JanelaGerenciarConsorcio;
import GUI.JanelaGraficos;
import GUI.JanelaPrincipal;
import GUI.JanelaRelatorio;
import GUI.JanelaSign;


public class Sistema {

    JanelaSign janeleLogin = new JanelaSign();
    JanelaCadastrarSenha janelaCadastrarSenha = new JanelaCadastrarSenha();
    ControladorLogin controladorLogin = new ControladorLogin();
    JanelaPrincipal jp = new JanelaPrincipal();
    ControladorJanelaPrincipal cJP = new ControladorJanelaPrincipal();

    JanelaGerenciarCliente jGC = new JanelaGerenciarCliente();
    ControladorGerenciarCliente cGC = new ControladorGerenciarCliente();

    JanelaCadastrarCliente jCC = new JanelaCadastrarCliente();
    ControladorJanelaCadastrar cJCadastrar = new ControladorJanelaCadastrar();

    JanelaExcluirCliente jEC = new JanelaExcluirCliente();
    ControladorJanelaExcluir cJE = new ControladorJanelaExcluir();

    JanelaGerenciarConsorcio jGCO = new JanelaGerenciarConsorcio();
    ControladorGerenciarConsorcio cGCO = new ControladorGerenciarConsorcio();

    JanelaCadastrarConsorcio jCCO = new JanelaCadastrarConsorcio();
    ControladorManterConsorcio cECO = new ControladorManterConsorcio();


    JanelaGraficos jG = new JanelaGraficos();
    ControladorDeGeracaoDeGrafico controladorGrafico = new ControladorDeGeracaoDeGrafico();
    ControladorRelatorio controladorRelatorio = new ControladorRelatorio();
    JanelaRelatorio janelaRelatorio = new JanelaRelatorio();
    

    public Sistema (){

    }

    public void conectar (){

        cJP.setJanelaPrincipal(jp);
        cJP.setJanelaGerenciarCliente(jGC);
        jp.setControladorJanelaPrincipal(cJP);

        jGC.setControladorJanelaPrincipal(cJP);
        jGC.setControladorGerenciarCliente(cGC);
        cGC.setJanelaGerenciarCliente(jGC);

        cGC.setJanelaCadastrarCliente(jCC);
        jCC.setControladorJanelaCadastrar(cJCadastrar);
        cJCadastrar.setJanelaCadastrarCliente(jCC);

        cGC.setJanelaExcluirCliente(jEC);
        jEC.setControladorJanelaExcluir(cJE);
        cJE.setJanelaExcluirCliente(jEC);

        cJP.setJanelaGerenciarConsorcio(jGCO);
        jGCO.setControladorJanelaPrincipal(cJP);
        jGCO.setControladorGerenciarConsorcio(cGCO);
        jCCO.setControladorGerenciarConsorcio(cGCO);

        cGCO.setJanelaGerenciarConsorcio(jGCO);
        cGCO.setJanelaCadastrarConsorcio(jCCO);

        jCCO.setControladorCadastrarConsorcio(cECO);
        cECO.setJanelaCadastrarConsorcio(jCCO);


        jG.setControladorGrafico(controladorGrafico);
        controladorGrafico.setJanelaDeGeracaoDeGrafico(jG);

        janelaRelatorio.setControladorRelatorio(controladorRelatorio);
        controladorRelatorio.setJanelaRelatorio(janelaRelatorio);
        cGCO.setJanelaRelatorio(janelaRelatorio);
        cGCO.setjG(jG);
        janeleLogin.setControladorLogin(controladorLogin);
        controladorLogin.setJanelaLogin(janeleLogin);
        controladorLogin.setJanelaPrincipal(jp);
        controladorLogin.setJanelaCadastroSenha(janelaCadastrarSenha);
        janelaCadastrarSenha.setControlador(controladorLogin);
        
    }

    public void logar ()
    {
        janeleLogin.setVisible(true);
    }
}
